#include<vector>
#include<string>
#include<map>
#include"get_editor_script.h"
#include"list_of_constants.h"


std::vector<std::string> getTextFromInput(const char* path);

void getHashesFromInput(const std::vector<std::string>& listFromFirstInput,
	std::map<std::string, long long>& keys,
	std::vector<long long>& hashes
	);

void countReverseKeys(std::vector<std::string> &keysReverse, const std::map<std::string, long long> & keys);

void outputEditorChanges(const char* path,
	const std::vector<std::string>& keysReverse,
	const std::vector< EditorState<long long> >& editorScript
	);

std::vector<EditorState<std::string> > gettingChangesOfTwoFiles(
	std::vector<std::string>& listFromFirstInput,
	std::vector<std::string>& listFromSecondInput,
	const char* inputPath1 = DEFAULT_FILE1,
	const char* inputPath2 = DEFAULT_FILE2,
	const char* outputPath = DEFAULT_OUTPUT,
	int mode = 0);
